// index.js
// 获取应用实例
const app = getApp();

Page({
  data: {
    metroLines: [],
    isAnimating: false,
    showGuide: false,
  },
  onShareAppMessage() {
    return {
      title: "天津地铁找厕所", // 分享时显示的标题
      path: "/pages/index/index", // 分享的页面路径（必须以 / 开头）
      imageUrl: "/images/分享Logo.png", // 分享卡片的图片（可选，建议5:4比例）
    };
  },
  // 可选：支持“分享到朋友圈”（基础库 2.11.3+ 支持）
  onShareTimeline() {
    return {
      title: "天津地铁找厕所",
      imageUrl: "/images/分享Logo.png",
    };
  },

  onLoad: function () {
    // 从全局数据中获取地铁线路信息
    this.setData({
      metroLines: app.globalData.metroLines,
    });
    // 首次进入显示漫游引导
    const seen = wx.getStorageSync("guideSeen");
    if (!seen) {
      this.setData({ showGuide: true });
    }
  },

  // 跳转到线路详情页
  goToLineDetail: function (e) {
    const lineId = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: "../lineDetail/lineDetail?id=" + lineId,
    });
  },
  // 点击头像触发动画
  triggerAnimation() {
    // 防止重复点击（动画执行中不响应新点击）
    if (this.data.isAnimating) return;
    // 如果是引导中，点击后关闭引导并记录
    if (this.data.showGuide) {
      wx.setStorageSync("guideSeen", true);
      this.setData({ showGuide: false });
    }
    // 添加动画类，开始动画
    this.setData({ isAnimating: true });
    // 动画时长4秒，结束后重置状态（确保下次可再次触发）
    setTimeout(() => {
      this.setData({ isAnimating: false });
    }, 4000); // 时间需与WXSS中animation的4s保持一致
  },
  // 引导遮罩点击：触发动画并关闭引导
  handleGuideTap() {
    this.triggerAnimation();
  },
  showAnnouncement() {
    wx.showModal({
      title: "公告",
      content: `小程序刚刚上线！难免会有一些优化问题，大家可以点击右下角微信反馈，我休息之余会修复。\n\n如果您发现哪一站点地铁厕所信息不准确也可以给我反馈，我会进行更新，这样你也是这款小程序的数据提供者之一，我会写在小程序底部感谢您。\n\n这些厕所信息都是网上一步步查阅的，数据量有点大，一个人做不到实地考察，所以请大家我们一起维护好这个小程序，维护一个美丽便捷的哏儿都。\n\n（再次说明厕所信息仅供参考）`,
      showCancel: false,
      confirmText: "感谢您！",
    });
  },
});
